Apache 重写规则在子文件夹中不起作用
我已经编写了一个重写规则,这样我的网站就不需要URL包含如下所示的.php:Apache 重写规则在子文件夹中不起作用,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我已经编写了一个重写规则,这样我的网站就不需要URL包含如下所示的.php: RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^([^/]+)/$ $1.php 但是,当我创建了一个移动版本的站点并将文件放在一个名为“m”的子文件夹中时,重写规则对该子文件夹不起作用 任何帮助都将不胜感激。您需要复制这些规则,并将其放入/m/文件夹中的htaccess文件中 您可能
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php
但是,当我创建了一个移动版本的站点并将文件放在一个名为“m”的子文件夹中时,重写规则对该子文件夹不起作用
任何帮助都将不胜感激。您需要复制这些规则,并将其放入
/m/
文件夹中的htaccess文件中
您可能需要包含一个基,并且不要忘记打开重写引擎:
RewriteEngine On
# may not need this
#RewriteBase /m/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php
您需要复制这些规则,并将它们放在
/m/
文件夹中的htaccess文件中
您可能需要包含一个基,并且不要忘记打开重写引擎:
RewriteEngine On
# may not need this
#RewriteBase /m/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php
您的
/m/
文件夹中的htaccess文件中是否有重写规则?您的移动站点是属于自己的虚拟主机
还是您通过www.domain.tld/m/
访问的子文件夹?我认为是你的[^/]
使它失败了。@JonLin htaccess在根目录中directory@Qben这是我自己的VirtualHost@braza我假设您的.htaccess
文件从未复制到移动站点DocumentRoot
,意思是/m/
?您的/m/
文件夹中的htaccess文件中是否有重写规则?您的移动站点是自己的虚拟主机
,还是仅是您使用www.domain.tld/m/
访问的子文件夹?我认为是你的[^/]
使它失败了。@JonLin htaccess在根目录中directory@Qben这是我自己的VirtualHost@braza我假设你的.htaccess
文件从未被复制到移动站点DocumentRoot
,意思是/m/
?谢谢,我刚刚在你的评论后解决了这个问题!它确实需要重写base/m/才能工作。谢谢,我刚刚在您的评论之后完成了它!它确实需要重写base/m/才能工作。