404使用.htaccess重写url后出现错误
我正在我的网站中使用url重写 我有以下网址: 有效404使用.htaccess重写url后出现错误,.htaccess,.htaccess,我正在我的网站中使用url重写 我有以下网址: 有效 example.com/_new/app/planning example.com//u new/app/user\u info 不起作用(404) example.com/_new/try example.com//u new/features 以下是我的规则: RewriteEngine On # Removing extension RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^
example.com/_new/app/planning
example.com//u new/app/user\u info
不起作用(404)
example.com/_new/try
example.com//u new/features
以下是我的规则:
RewriteEngine On
# Removing extension
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
# example.com/app/[module]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^app/([^/]+)$ app.php?param1=$1 [L]
# example.com/app/[module]/[action]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^app/([^/]+)/([^/]+)$ app.php?param1=$1¶m2=$2 [L]
# example.com/app/[module]/[action]/[type]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^app/([^/]+)/([^/]+)/([^/]+)$ app.php?param1=$1¶m2=$2¶m3=$3 [L]
# example.com/app/[module]/[action]/[type]/[id]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^app/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ app.php?param1=$1¶m2=$2¶m3=$3¶m4=$4 [L]
以下是文件结构:
/_new/
/_new/try.php
/_new/login.php
/_new/app.php
try.php
和index.php
应显示为example.com/try
或example.com/login
app.php
从另一个目录加载模块。这个应该是:
example.com/app/module\u name
有什么问题吗
谢谢。在
htaccess
中,基本URLexample.com
将在匹配中被跳过,并且在您的文件中,第一个正则表达式([^\.]+)
将匹配/\u new/try
并尝试将您重定向到一个不存在的文件/\u new/try.php
,因此为404
在尝试使用URL之前,请确保测试您的正则表达式,您可以从中受益以进行测试。在
htaccess
中,将在匹配中跳过基本URLexample.com
,并在您的文件中跳过第一个正则表达式([^\.]+)
将匹配/\u new/try
并尝试将您重定向到不存在的文件/\u new/try.php
,因此404
在尝试使用URL之前,请确保测试您的正则表达式,您可以从中受益。没有规则处理
/\u new/
,您认为应该如何处理?没有规则处理/\u new/
,您认为应该如何处理?您需要创建一个能够很好地找到文件的正则表达式,我不知道你的文件夹结构或命名文件的方式,以便为你提供一个解决问题的正则表达式你好,我添加了更多信息和目录结构。现在可以帮助更多了吗?请将第一条规则移到文件末尾,你应该可以了。你需要创建一个正则表达式来查找你的文件。我不知道你的文件夹结构或你命名文件的方式,以便为你提供一个正则表达式来解决你的问题你好,我添加了更多信息和目录结构。现在可以帮助更多人了吗?请将第一条规则移到文件末尾,您应该可以了。