2016-08-30 3 views
0

Я нашел множество решений для StackOverflow для решения этой общей проблемы, но никто не работает для моей настройки. Когда я ссылку на страницу PHP я все еще вижу расширение .php и хотел бы иметьПравило перезаписи для удаления расширения .php с использованием .htaccess

index.php updated to 'website' 

about-us.php to be website/about 

Я работаю на сайте с помощью WAMP/Localhost внутри папки "сайта. У меня есть файл .htacces, расположенный внутри корня папки «веб-сайт».

Условие/правило переписывания. Я пытаюсь удалить расширение .php из index.php и других страниц php.

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

Мои ссылки имеют URL, как этот

<a href="index.php"> 
<a href="about-us.php"> 

Вот полный файл .htaccess

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

## EXPIRES CACHING ## 
<IfModule mod_expires.c> 
ExpiresActive On 
ExpiresByType image/jpg "access 1 year" 
ExpiresByType image/jpeg "access 1 year" 
ExpiresByType image/gif "access 1 year" 
ExpiresByType image/png "access 1 year" 
ExpiresByType text/css "access 1 month" 
ExpiresByType application/pdf "access 1 month" 
ExpiresByType application/x-javascript "access 1 month" 
ExpiresByType application/x-shockwave-flash "access 1 month" 
ExpiresByType image/x-icon "access 1 year" 
ExpiresDefault "access 2 days" 
</IfModule> 
## EXPIRES CACHING ## 

<IfModule mod_deflate.c> 
# compress text, html, javascript, css, xml: 
AddOutputFilterByType DEFLATE text/plain 
AddOutputFilterByType DEFLATE text/html 
AddOutputFilterByType DEFLATE text/xml 
AddOutputFilterByType DEFLATE text/css 
AddOutputFilterByType DEFLATE application/xml 
AddOutputFilterByType DEFLATE application/xhtml+xml 
AddOutputFilterByType DEFLATE application/rss+xml 
AddOutputFilterByType DEFLATE application/javascript 
AddOutputFilterByType DEFLATE application/x-javascript 
</IfModule> 

# Or, compress certain file types by extension: 
<files *.html> 
SetOutputFilter DEFLATE 
</files> 

ответ

1

Это на самом деле не "удаление" .php из URL, он работает как перенаправления. Другими словами, если вы не хотите, чтобы другие видели в вашем URL-адресе .php, вам нужно будет исправить всю вашу ссылку.

<a href='www.example.com'> т.е.

<a href='www.example.com/about-us'>

<a href='www.example.com/blog'>

Вы должны исправить все ссылки внутри вашего скрипта.

Смежные вопросы