我正在使用htacess文件从我的网页中删除.php扩展名。 但是,我有一个名为images.php的页面和一个名为images的目录(都在根目录中)。
因此,当从图像网页中删除.php扩展名时,该网站会重定向到图像目录。
我已尝试将图片文件从image.php重命名为imageone.php,然后使用htacess重定向,但问题仍然存在
我能以任何方式克服这个问题吗?
# Remove .php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule .* $0.php
#browser requests PHP
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [L,R=301]
# check to see if the request is for a PHP file:
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^/?(.*)$ /$1.php [L]
</IfModule>
Redirect 301 /images.php http://www.thewebsite.com/imagesone.php
答案 0 :(得分:1)
您忘记了评论专线#
之前的browser requests PHP
。
# browser requests PHP
答案 1 :(得分:0)
避免将Redirect
与mod_rewrite
混合,并按此顺序排列规则:
RewriteEngine On
RewriteRule ^/?images\.php$ http://www.thewebsite.com/imagesone.php [L,NC,R=301]
# browser requests PHP
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.+)\.php$ /$1 [L,R=301,NC]
# internally add .php to requests
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+?)/?$ $1.php [L]