我正在开发一个网站,客户已将其翻译成克罗地亚语和斯洛文尼亚语。为了与现有的 URL 模式保持一致,我们生成了模仿应用程序布局的 URL 重写规则,这导致 URL 中出现许多非 ASCII 字符。
\n\n示例 \xc5\xa1 \xc5\xbe \xc4\x8d
\n\n有些链接是使用 getURL 从 Flash 触发的,有些是标准 HTML 链接。有些是编程式的 Response.Redirects,有些是通过向响应添加 301 状态代码和位置标头来实现。我正在 IE6、IE7 和 Firefox 3 中进行测试,浏览器间歇性地显示非拉丁字符 url 编码。
\n\n\xc5\xa1 = %c5%a1\n\xc5\xbe = %c5%be\n\xc4\x8d = %c4%8d\nRun Code Online (Sandbox Code Playgroud)\n\n我猜这与 IIS 及其处理 Response.Redirect 和 AddHeader("Location ...
\n\n有谁知道强制 IIS 不对这些字符进行 URL 编码的方法,或者我最好的选择是用非变音符号替换这些字符?
\n\n谢谢
\nasp.net iis-6 friendly-url url-rewriting non-ascii-characters
ASP.NET MVC(以及一般的MVC)的标准模板似乎是{controller}/{action}/{id},但是,对于我正在进行的项目,我不确定这是否合适结构体.例如,如果我有一个控制汽车的应用程序,对我来说,拥有以下结构对我来说更有意义:
{car-rego}/{controller}/{action}/{data etc}
Run Code Online (Sandbox Code Playgroud)
这对我来说很有意义,因为汽车(由登记牌识别)是我们正在进行操作的资源,并且功能的逻辑分离被分离到控制器和动作中.这会导致URL如下:
/ESX-121/Power/On
/ESX-121/Speed/Set/100
/ESX-121/Speed/Current -- get the current speed (could be /ESX-121/Speed also)
/ESX-121/Turn/Left
/ESX-121/Speed/Set/90
/ESX-121/Power/Off
Run Code Online (Sandbox Code Playgroud)
如果这遵循默认模式,它将如下所示:
/Power/On/ESX-121
/Speed/Set/ESX-121/100
/Speed/Current/ESX-121 -- get the current speed (could be /Speed/ESX-121 also)
/Turn/Left/ESX-121
/Speed/Set/ESX-121/90
/Power/Off/ESX-121
Run Code Online (Sandbox Code Playgroud)
对我来说,第一个选项使得可读URL更有意义,资源标识符位于一个恒定的逻辑位置.例如/ Speed/Set/ESX-121/100向我建议,存在类型速度的资源,其标识符为ESX-121,实际情况并非如此,操作在汽车上.
你如何构建URL以及相关的控制器和动作来处理这种情况?您认为这是一个可接受的解决方案,还是有更好的方法来构建它?
我有一个表格通过GET提交我网站上的博客搜索.
表单工作正常,但提交后,下一页上的URL显示("查找"是我的提交按钮的值):
www.example.com/search.php?sub_q=Find+it%21&q=tennis
这只是一个美学上令人愉悦的网址.有没有一种简单的方法可以从URL中排除提交按钮?我希望网址看起来像:
www.example.com/search.php?q=tennis
search.php不需要$ _GET ['sub_q']来操作,顺便说一下.
在我的博客应用中,用户可以输入任何文本作为其条目的标题,然后根据文本生成URL.
我验证他们的标题,以确保它只包含字母和数字.
如果他们输入类似的东西
Lorem 3 ipsum dolor sit amet
Run Code Online (Sandbox Code Playgroud)
我怎么能生成这个文本更多的SEO友好版本:
Lorem-3-ipsum-dolor-sit-amet
Run Code Online (Sandbox Code Playgroud) 您可以建议使用哪种方法来创建适合搜索引擎的网址?用PHP编码的时候.理想情况下,我想要像:
http://www.example.com/article/523544
所以它不显示它打开的文件(例如article.php)
我正在使用.htaccess.
我原来的链接是:
http://example.com/CareerDays/index.php?u_type=admin
Run Code Online (Sandbox Code Playgroud)
而我正试图让它看起来像这样:
http://example.com/v/admin
Run Code Online (Sandbox Code Playgroud)
整个代码如下所示:
RewriteEngine On
RewriteRule ^v/([^/]*)$ /CareerDays/index.php?u_type=$1 [L]
Run Code Online (Sandbox Code Playgroud)
我总是得到
" 500内部服务器错误 "
我正在使用PHP开发一个Web应用程序,我使用Apache的mod_rewrite来获得"友好"的URL.
我有友好的网址,如:
mysite.com/article/112
mysite.com/article/145
mysite.com/article/40
Run Code Online (Sandbox Code Playgroud)
一切都很好,但我希望能够收到这样的额外参数
mysite.com/article/112?referer=google
Run Code Online (Sandbox Code Playgroud)
实际上如果我导航到mysite.com/article/112?referer=google我可以看到我的页面,但我没有$ _GET中的"referer"参数.
我该如何解决这个问题?;)
编辑解决:D
我忘了提到我的旧规则是:
Rewriterule ^article/([0-9]+)$ index.php?page=article&article_id=$1
Run Code Online (Sandbox Code Playgroud)
而新的是:
Rewriterule ^article/([0-9]+)$ index.php?page=article&article_id=$1 [QSA]
Run Code Online (Sandbox Code Playgroud) 我正在寻找轻巧的PHP框架(没有复杂的架构,mvc/mvvm等),并提供智能支持.
但我也想要友好的网址.例如,request http://www.myhost.com/somepage应该加载smarty-template somepage.tpl.有一些标准的解决方案吗?
以下网址工作正常:
http://www.domain.com/address
Run Code Online (Sandbox Code Playgroud)
但是当我传递任何查询字符串时,例如:
http://www.domain.com/address?back=order-opc.php?step=1
Run Code Online (Sandbox Code Playgroud)
显示404页面
我的重写:
"^/address" => "/address.php",
Run Code Online (Sandbox Code Playgroud)
我尝试了很多不同的重写似乎都不起作用...我应该如何重写?
好吧,我是新手……第一次在这里提问。我有一个名为example.com的域, 我所有的网站都位于以下 URL:https : //example.com/example.com/inter/pf2/ 我想要的是以下内容:当用户转到https://example 时.com在https://example.com/example.com/inter/pf2/显示所有内容,但 URL 一直说example.com 我尝试了以下操作:
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^$ /example.com/inter/pf2/ [L]
Run Code Online (Sandbox Code Playgroud)
但它不起作用
编辑:
This is the .htaccess:
RewriteEngine on
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php74” package as the default “PHP” programming language.
<IfModule mime_module>
AddHandler application/x-httpd-ea-php74 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
RewriteRule ^/?$ %{HTTP_HOST}/inter/pf2/ [L]
Run Code Online (Sandbox Code Playgroud) 我想知道以下哪个网址最好用:
http://www.website.com/index.php?i=123
http://www.website.com/i123/item-name/
http://www.website.com/item-name/i123/
http://www.website.com/i123-item-name.htm
http://www.website.com/i/123-item-name.htm
Run Code Online (Sandbox Code Playgroud) 我已经查看了几篇关于设置“漂亮 URL”的文章,但我似乎无法找到任何对我有用的东西。我是整个 .htaccess 过程的新手,似乎我所看到的一切都是面向动态的、基于 .PHP 的站点。这是我希望看到的:
丑网址:http : //www.example.com/test.html
漂亮网址:http : //www.example.com/test/
它目前在 .htaccess 文件中尝试使用的是:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([a-z]+)$ $1.html
Run Code Online (Sandbox Code Playgroud)
到目前为止,我没有运气。我没有在页面上使用任何形式的 .php - 这些是静态的 .html 页面。任何帮助将不胜感激。谢谢!
我在域和目录中安装了Wordpress,我有一个用PHP + MySQL开发的站点完全独立于wordpress.它独自工作.这个站点是一个后台,所以它安装在/ backoffice /目录下.
后台的目录之一我有另一个目录,我希望它与友好的URL一起使用.
在我的.htaccess中,我有以下规则:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^backoffice/edit_user/([^/\.]+)/?$ /backoffice/edit_user/index.php?o=$1 [L,NC,QSA]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_URI} !=/server-status
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^login/?$ wp-login.php [QSA,L]
RewriteRule ^postpass/?$ wp-login.php?action=postpass [QSA,L]
RewriteRule ^logout/?$ wp-login.php?action=logout [QSA,L]
RewriteRule ^lostpassword/?$ wp-login.php?action=lostpassword [QSA,L]
RewriteRule ^retrievepassword/?$ wp-login.php?action=retrievepassword [QSA,L]
RewriteRule ^resetpass/?$ wp-login.php?action=resetpass [QSA,L]
RewriteRule ^rp/?$ wp-login.php?action=rp [QSA,L]
RewriteRule ^register/?$ wp-login.php?action=register [QSA,L]
Run Code Online (Sandbox Code Playgroud)
当调用这样的URL:mydomain.com/backoffice/edit_user/joseantonio时会出现404页面.
怎么了?
提前致谢.
friendly-url ×13
php ×6
.htaccess ×4
mod-rewrite ×3
apache ×2
url ×2
asp.net ×1
asp.net-mvc ×1
clean-urls ×1
forms ×1
frameworks ×1
get ×1
iis-6 ×1
java ×1
lighttpd ×1
pretty-urls ×1
query-string ×1
regex ×1
rest ×1
seo ×1
smarty ×1
templates ×1
wordpress ×1