【发布时间】:2021-12-30 14:40:16
【问题描述】:
我想将这些 .htaccess 规则重写为模板,以便将其也用于我的其他页面:
RewriteRule ^admin/add-news/?$ admin/add_news.php [L]
RewriteRule ^admin/edit-news/([0-9a-z-@._]+)/([0-9]+)/?$ admin/edit_news.php?name=$1&id=$2 [L]
例如:
RewriteRule ^admin/([a-z-])/?$ admin/$1.php [L]
RewriteRule ^admin/([a-z-])/([0-9a-z-@._]+)/([0-9]+)/?$ admin/$1.php?name=$2&id=$3 [L]
我在 WAMP 上测试了最新规则,但它不起作用。它返回:404 Not Found 错误
在此服务器上找不到请求的 URL。
完整的 .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^admin/add-news/?$ admin/add_news.php [L]
RewriteRule ^admin/edit-news/([0-9a-z-@._]+)/([0-9]+)/?$ admin/edit_news.php?name=$1&id=$2 [L]
文件位置是:
1. C:\wamp64\www\test.com
2. C:\wamp64\www\test.com\admin\add_news.php
C:\wamp64\www\test.com\admin\edit_news.php
3. I want redirect from URLs with underscores to hyphens, for example:
from admin/add_news.php to admin/add-news
Also from admin/edit_news.php?name=%1&id=%2 to admin/edit-news/name/id
Example: admin/edit-news/my-news-title/2
任何想法如何解决它?谢谢。
【问题讨论】:
-
感谢您的努力,请您在这里告诉我们 3 件事。 1st-您的 htaccess 文件在哪里(完整路径详细信息),2nd-您的 .php 文件在哪里(请提供完整路径)? 3rd-您正在访问哪些示例网址?以及从哪个示例网址到您要重写/重定向的哪个示例网址?谢谢。
-
@RavinderSingh13 好的。
1. C:\wamp64\www\test.com2. C:\wamp64\www\test.com\admin\add_news.php C:\wamp64\www\test.com\admin\edit_news.php3. I want redirect from URLs with underscores to hyphens, for example: from admin/add_news.php to admin/add-news Also from admin/edit_news.php?name=%1&id=%2 to admin/edit-news/name/id谢谢。 -
感谢您提供信息,所以您在浏览器中点击链接
admin/edit-news/name/id?如果是,请在您的问题中添加所有信息以使其更清楚,谢谢。 -
@RavinderSingh13 是的,浏览器 url 必须是例如:
admin/edit-news/my-news-title/2。
标签: .htaccess url-rewriting wamp